The present disclosure relates to data storage and retrieval.
Modern databases can store and provide retrieval mechanisms for data ranging from simple text to more complex binary data such as graphics, sounds, and video. Retrieval response time for information matching a set of query parameters can range from a few milliseconds or less for simple queries of a small number of records to a few seconds or more for complex queries involving a large number of records having multiple fields.
One or more databases can work behind the scenes in a web-based application where a web interface provides user access to the information stored in the database using, for example, an Internet browser. A fast query response time is a desirable trait for most applications incorporating a database, and is especially desirable for web-based applications. A fast response time can increase user productivity and promote return visits through a satisfactory user experience. Enhanced query response times can also help avoid long wait times that might cause a user to repeatedly reissue a query, hit a browser's refresh button, or leave the interface site entirely.
An Internet traffic analysis application is an example of a web-based application where enhanced query response times for the underlying database information positively impacts the user experience. Such an application, for example, Google Analytics, which is available from Google, Inc., in Mountain View, Calif., can be a useful analytical tool for web publishers in optimizing web site layout, appearance, and interfaces. Delays in returning requested information can cause the user experience, as well as the usefulness of the application to suffer.
In this context, a web publisher is an entity, such as person or an enterprise, that hosts web pages or web sites that can be accessed over a network, such as the Internet. The publisher can monitor analytical data related to user visits and links to the publisher web pages or web sites. Example analytical data includes data related to domains and/or web sites from which visitors arrived and to which the visitors departed; traffic patterns, e.g., navigation clicks, of visitors within the publisher's web site; visitor actions, e.g., purchases, filling out of forms, etc. and other actions that a visitor may take in relation to the publisher's web site.
The analysis of such analytical data can, for example, inform the publisher of how visitors found the publisher's web site and how the visitors interacted with the publisher's web site. With this understanding, the publisher can implement changes to increase revenue generation and/or improve the visitor experience. For example, a publisher can focus marketing resources on advertising campaigns, and/or identify web site bottlenecks that impede the visitor experience, and/or identify other publishers as potential partners for cross-linking, etc.
The data collected for such detailed analysis can have many dimensions. Queries of this data requesting correlated output satisfying one or more query parameters can require searching a large number of entries for a relatively small number of matches. Reducing the query response time for such searches is desirable.